package com.thouiot.modbus.service;

import com.thouiot.modbus.entity.vo.ModbusLocatorVo;
import com.thouiot.modbus.entity.vo.ReadValueVo;

/**
 * @description modbus master 操作接口
 * @author wangkai
 * @date 2025/04/11 09:47
 */
public interface IMasterService {

    /**
     * 读取modbus数据状态值
     * @param readModbusVo
     */
    Boolean readModbusStatus(ModbusLocatorVo readModbusVo);

    /**
     * 读取modbus数据寄存器值
     * @param readModbusVo
     */
    Number readModbusRegister(ModbusLocatorVo readModbusVo);

    /**
     * 读取modbus数据寄存器中一个范围内的数据
     * @param readModbusVo
     * @return
     */
    short[] readModbusRegisters(ModbusLocatorVo readModbusVo);

    /**
     * 读取modbus数据
     * @param readModbusVo
     * @return
     */
    ReadValueVo readModbus(ModbusLocatorVo readModbusVo);

    /**
     * 写入 Modbus 寄存器
     * @param readModbusVo
     * @return
     */
    boolean writeModbus(ModbusLocatorVo readModbusVo);
}
